package com.djhu.freepartner.web.entity.enums;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Limit {
    /**
     * 小于0 不限流
     * @return
     */
    String name();

    /**
     * 限流方式 根据ip或者用户名
     * @return
     */
    LimitType limittype() default LimitType.IP;

    String limitkey() default "";

    /**
     * 小于0 不限流
     * @return
     */
    long limit() default 10 ;

    /**
     * 默认时间是1小时
     * @return
     */
    int time() default 1;

    /**
     * 默认单位是小时
     * @return
     */
    TimeUnit timeUnit() default TimeUnit.MINUTES;
}
